Conducts RSA model comparisons and sorts parcels into groups with different coding profiles. Displays results.

description

the tdic model: \[ rank(\textbf{r}) \sim \textbf{x}_{\text{targt}}\beta_{\text{targt}} + \textbf{x}_{\text{distr}}\beta_{\text{distr}} + \textbf{x}_{\text{incon}}\beta_{\text{incon}} + \textbf{x}_{\text{congr}}\beta_{\text{congr}} \]

stats.subjs.tdic <- fread(
  here("out", "rsa", "stats", paste0("subjs_pro_bias_acc-only_mmp_pearson_residual_glm-tdic.csv"))
  )
stats.subjs.tdic <- stats.subjs.tdic[is.analysis.group == TRUE & y == "rank", ]  ## EXCLUDE HELD OUT SUBJECTS!
stats.subjs.tdic <- stats.subjs.tdic[, "coef" := NULL]

params.interest <- c("target", "distractor", "incongruency")

stats.subjs.tdic %<>% full_join(atlas.key$mmp, by = "roi")

1. task coding analysis: test each regressor against zero (baseline)

code

  • wilcoxon sign-rank test on estimated betas
    • per parcel and model
    • one-sided (greater than zero)
    • p-values FDR corrected across all ROIs (bilateral), within each regressor
## get stats

stats.group.tdic <- stats.subjs.tdic %>%
  group_by(num.roi, model, param) %>%
  summarize(
    v    = wilcox.test(beta, alternative = "greater")$statistic,
    p    = wilcox.test(beta, alternative = "greater")$p.value,
    beta = tanh(mean(atanh(beta))),  ## must be last in this summarize()
  ) %>%
  mutate(p.fdr = p.adjust(p, method = "fdr"), p.holm = p.adjust(p, method = "holm")) %>%
  ungroup

# stats.group.tdic %<>% select(roi, community, param, v, p, beta, p.fdr, p.holm)
stats.group.tdic %<>% full_join(atlas.key$mmp, by = "num.roi") %>% as.data.table

results

rois.targt <- stats.group.tdic[param == "target" & p.fdr < 0.05, roi]
rois.distr <- stats.group.tdic[param == "distractor" & p.fdr < 0.05, roi]
rois.incon <- stats.group.tdic[param == "incongruency" & p.fdr < 0.05, roi]
rois.congr <- stats.group.tdic[param == "congruency" & p.fdr < 0.05, roi]

stats.coding.targt <- stats.group.tdic[param == "target", c("beta", "v", "p.fdr", "num.roi", "roi")]
stats.coding.distr <- stats.group.tdic[param == "distractor", c("beta", "v", "p.fdr", "num.roi", "roi")]
stats.coding.incon <- stats.group.tdic[param == "incongruency", c("beta", "v", "p.fdr", "num.roi", "roi")]
stats.coding.congr <- stats.group.tdic[param == "congruency", c("beta", "v", "p.fdr", "num.roi", "roi")]

target (170 parcels)

unthresholded

These values represent a (standardized) contrast of within-group correlations (e.g., within target correlations) against between-group correlations (i.e., between items with no common target, distractor, or congruency status).

Betas

stats.coding.targt$beta %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.coding.targt$v %>% build.overlay %>% plot_surface

thresholded

Now thresholded at p < 0.05, FDR-corrected.

Betas

stats.coding.targt %>% with(ifelse(p.fdr < 0.05, beta, NA)) %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.coding.targt %>% with(ifelse(p.fdr < 0.05, v, NA)) %>% build.overlay %>% plot_surface

table

Sorted (descending) by beta.

kable(
  stats.group.tdic[param == "target" & p.fdr < 0.05] %>% arrange(-beta),
  digits = 2
)
num.roi model param v p beta p.fdr p.holm roi hemi community community.short
189 tdic target 1108 0.00 0.08 0.00 0.00 3b_L L somatosensory and motor cortex M1 and S1
233 tdic target 1009 0.00 0.07 0.00 0.00 3a_L L somatosensory and motor cortex M1 and S1
188 tdic target 1097 0.00 0.07 0.00 0.00 4_L L somatosensory and motor cortex M1 and S1
9 tdic target 1047 0.00 0.06 0.00 0.00 3b_R R somatosensory and motor cortex M1 and S1
8 tdic target 1049 0.00 0.06 0.00 0.00 4_R R somatosensory and motor cortex M1 and S1
280 tdic target 1033 0.00 0.06 0.00 0.00 OP4_L L posterior opercular cortex pOperc
56 tdic target 969 0.00 0.05 0.00 0.00 6v_R R premotor cortex PM
10 tdic target 1063 0.00 0.05 0.00 0.00 FEF_R R premotor cortex PM
83 tdic target 971 0.00 0.05 0.00 0.00 p9-46v_R R dorsolateral prefrontal cortex dlPFC
124 tdic target 936 0.00 0.05 0.00 0.00 PBelt_R R early auditory cortex early aud.
327 tdic target 1008 0.00 0.05 0.00 0.00 PFop_L L inferior parietal cortex iP
350 tdic target 978 0.00 0.05 0.00 0.00 p10p_L L orbital and polar frontal cortex oFC and pFC
192 tdic target 976 0.00 0.05 0.00 0.00 55b_L L premotor cortex PM
63 tdic target 912 0.00 0.05 0.00 0.00 8BM_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
349 tdic target 952 0.00 0.05 0.00 0.00 FOP5_L L insular and frontal opercular cortex insular and FO
37 tdic target 977 0.00 0.05 0.00 0.00 5mv_R R paracentral lobular and mid cingulate cortex PL and mid cing.
308 tdic target 942 0.00 0.05 0.00 0.00 STSda_L L auditory association cortex aud. assoc.
218 tdic target 953 0.00 0.05 0.00 0.00 23c_L L posterior cingulate cortex pCC
195 tdic target 970 0.00 0.05 0.00 0.00 POS2_L L posterior cingulate cortex pCC
169 tdic target 889 0.00 0.05 0.01 0.01 FOP5_R R insular and frontal opercular cortex insular and FO
108 tdic target 938 0.00 0.05 0.00 0.00 FOP4_R R insular and frontal opercular cortex insular and FO
117 tdic target 945 0.00 0.05 0.00 0.00 AIP_R R superior parietal cortex sP
73 tdic target 974 0.00 0.05 0.00 0.00 8C_R R dorsolateral prefrontal cortex dlPFC
43 tdic target 937 0.00 0.05 0.00 0.00 SCEF_R R paracentral lobular and mid cingulate cortex PL and mid cing.
99 tdic target 963 0.00 0.04 0.00 0.00 43_R R posterior opercular cortex pOperc
109 tdic target 957 0.00 0.04 0.00 0.00 MI_R R insular and frontal opercular cortex insular and FO
81 tdic target 904 0.00 0.04 0.01 0.01 IFSp_R R inferior frontal cortex iFC
354 tdic target 978 0.00 0.04 0.00 0.00 LBelt_L L early auditory cortex early aud.
79 tdic target 893 0.00 0.04 0.01 0.01 IFJa_R R inferior frontal cortex iFC
53 tdic target 993 0.00 0.04 0.00 0.00 3a_R R somatosensory and motor cortex M1 and S1
187 tdic target 982 0.00 0.04 0.00 0.00 V8_L L ventral stream visual cortex v vis.
12 tdic target 965 0.00 0.04 0.00 0.00 55b_R R premotor cortex PM
216 tdic target 934 0.00 0.04 0.00 0.00 5m_L L paracentral lobular and mid cingulate cortex PL and mid cing.
251 tdic target 919 0.00 0.04 0.00 0.00 9p_L L dorsolateral prefrontal cortex dlPFC
3 tdic target 981 0.00 0.04 0.00 0.00 V6_R R dorsal stream visual cortex d vis.
257 tdic target 985 0.00 0.04 0.00 0.00 a47r_L L orbital and polar frontal cortex oFC and pFC
146 tdic target 943 0.00 0.04 0.00 0.00 IP0_R R inferior parietal cortex iP
78 tdic target 932 0.00 0.04 0.00 0.00 6r_R R premotor cortex PM
15 tdic target 928 0.00 0.04 0.00 0.00 POS2_R R posterior cingulate cortex pCC
227 tdic target 947 0.00 0.04 0.00 0.00 7PC_L L superior parietal cortex sP
147 tdic target 989 0.00 0.04 0.00 0.00 PFop_R R inferior parietal cortex iP
85 tdic target 877 0.00 0.04 0.02 0.02 a9-46v_R R dorsolateral prefrontal cortex dlPFC
234 tdic target 949 0.00 0.04 0.00 0.00 6d_L L premotor cortex PM
179 tdic target 950 0.00 0.04 0.00 0.00 a32pr_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
91 tdic target 1000 0.00 0.04 0.00 0.00 11l_R R orbital and polar frontal cortex oFC and pFC
303 tdic target 963 0.00 0.04 0.00 0.00 STGa_L L auditory association cortex aud. assoc.
232 tdic target 927 0.00 0.04 0.00 0.00 2_L L somatosensory and motor cortex M1 and S1
294 tdic target 885 0.00 0.04 0.01 0.01 FOP3_L L insular and frontal opercular cortex insular and FO
173 tdic target 943 0.00 0.04 0.00 0.00 MBelt_R R early auditory cortex early aud.
128 tdic target 989 0.00 0.04 0.00 0.00 STSda_R R auditory association cortex aud. assoc.
343 tdic target 935 0.00 0.04 0.00 0.00 VVC_L L ventral stream visual cortex v vis.
145 tdic target 915 0.00 0.04 0.00 0.00 IP1_R R inferior parietal cortex iP
175 tdic target 945 0.00 0.04 0.00 0.00 A4_R R auditory association cortex aud. assoc.
131 tdic target 937 0.00 0.04 0.00 0.00 TGd_R R lateral temporal cortex lT
271 tdic target 1004 0.00 0.04 0.00 0.00 11l_L L orbital and polar frontal cortex oFC and pFC
220 tdic target 891 0.00 0.04 0.01 0.01 24dd_L L paracentral lobular and mid cingulate cortex PL and mid cing.
284 tdic target 870 0.00 0.04 0.02 0.02 RI_L L early auditory cortex early aud.
285 tdic target 966 0.00 0.04 0.00 0.00 PFcm_L L posterior opercular cortex pOperc
44 tdic target 933 0.00 0.04 0.00 0.00 6ma_R R paracentral lobular and mid cingulate cortex PL and mid cing.
47 tdic target 957 0.00 0.04 0.00 0.00 7PC_R R superior parietal cortex sP
144 tdic target 875 0.00 0.04 0.02 0.02 IP2_R R inferior parietal cortex iP
132 tdic target 882 0.00 0.04 0.01 0.01 TE1a_R R lateral temporal cortex lT
302 tdic target 872 0.00 0.04 0.02 0.02 PeEc_L L medial temporal cortex mT
114 tdic target 908 0.00 0.04 0.01 0.01 FOP3_R R insular and frontal opercular cortex insular and FO
163 tdic target 906 0.00 0.04 0.01 0.01 VVC_R R ventral stream visual cortex v vis.
35 tdic target 889 0.00 0.04 0.01 0.01 31pv_R R posterior cingulate cortex pCC
274 tdic target 903 0.00 0.04 0.01 0.01 47s_L L orbital and polar frontal cortex oFC and pFC
190 tdic target 893 0.00 0.04 0.01 0.01 FEF_L L premotor cortex PM
311 tdic target 905 0.00 0.04 0.01 0.01 TGd_L L lateral temporal cortex lT
60 tdic target 917 0.00 0.04 0.00 0.00 p32pr_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
100 tdic target 907 0.00 0.04 0.01 0.01 OP4_R R posterior opercular cortex pOperc
235 tdic target 909 0.00 0.04 0.01 0.01 6mp_L L paracentral lobular and mid cingulate cortex PL and mid cing.
62 tdic target 906 0.00 0.04 0.01 0.01 d32_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
236 tdic target 931 0.00 0.04 0.00 0.00 6v_L L premotor cortex PM
286 tdic target 883 0.00 0.04 0.01 0.01 PoI2_L L insular and frontal opercular cortex insular and FO
206 tdic target 878 0.00 0.04 0.01 0.02 SFL_L L dorsolateral prefrontal cortex dlPFC
263 tdic target 847 0.01 0.04 0.02 0.04 p9-46v_L L dorsolateral prefrontal cortex dlPFC
172 tdic target 951 0.00 0.04 0.00 0.00 TGv_R R lateral temporal cortex lT
304 tdic target 902 0.00 0.04 0.01 0.01 PBelt_L L early auditory cortex early aud.
142 tdic target 923 0.00 0.04 0.00 0.00 DVT_R R posterior cingulate cortex pCC
157 tdic target 872 0.00 0.04 0.02 0.02 FST_R R MT+ complex and neighbors MT+
199 tdic target 933 0.00 0.04 0.00 0.00 V3B_L L dorsal stream visual cortex d vis.
255 tdic target 899 0.00 0.04 0.01 0.01 45_L L inferior frontal cortex iFC
314 tdic target 886 0.00 0.04 0.01 0.01 TE2a_L L lateral temporal cortex lT
297 tdic target 879 0.00 0.03 0.01 0.01 AIP_L L superior parietal cortex sP
256 tdic target 935 0.00 0.03 0.00 0.00 47l_L L inferior frontal cortex iFC
149 tdic target 912 0.00 0.03 0.00 0.00 PFm_R R inferior parietal cortex iP
291 tdic target 883 0.00 0.03 0.01 0.01 AVI_L L insular and frontal opercular cortex insular and FO
41 tdic target 884 0.00 0.03 0.01 0.01 24dv_R R paracentral lobular and mid cingulate cortex PL and mid cing.
330 tdic target 920 0.00 0.03 0.00 0.00 PGi_L L inferior parietal cortex iP
282 tdic target 910 0.00 0.03 0.01 0.01 OP2-3_L L posterior opercular cortex pOperc
312 tdic target 869 0.01 0.03 0.02 0.02 TE1a_L L lateral temporal cortex lT
348 tdic target 845 0.01 0.03 0.04 0.04 Ig_L L insular and frontal opercular cortex insular and FO
336 tdic target 908 0.00 0.03 0.01 0.01 V4t_L L MT+ complex and neighbors MT+
51 tdic target 847 0.01 0.03 0.04 0.04 1_R R somatosensory and motor cortex M1 and S1
74 tdic target 895 0.00 0.03 0.01 0.01 44_R R inferior frontal cortex iFC
68 tdic target 879 0.00 0.03 0.01 0.01 8Ad_R R dorsolateral prefrontal cortex dlPFC
223 tdic target 956 0.00 0.03 0.00 0.00 SCEF_L L paracentral lobular and mid cingulate cortex PL and mid cing.
316 tdic target 882 0.00 0.03 0.01 0.01 TE2p_L L lateral temporal cortex lT
229 tdic target 892 0.00 0.03 0.01 0.01 VIP_L L superior parietal cortex sP
319 tdic target 885 0.00 0.03 0.01 0.01 TPOJ1_L L tempo-parieto-occipital junction TPOJ
337 tdic target 878 0.00 0.03 0.02 0.02 FST_L L MT+ complex and neighbors MT+
80 tdic target 865 0.01 0.03 0.02 0.02 IFJp_R R inferior frontal cortex iFC
93 tdic target 871 0.00 0.03 0.02 0.02 OFC_R R orbital and polar frontal cortex oFC and pFC
11 tdic target 836 0.01 0.03 0.04 0.05 PEF_R R premotor cortex PM
352 tdic target 840 0.01 0.03 0.05 0.05 TGv_L L lateral temporal cortex lT
28 tdic target 857 0.01 0.03 0.03 0.03 STV_R R tempo-parieto-occipital junction TPOJ
270 tdic target 874 0.00 0.03 0.02 0.02 10pp_L L orbital and polar frontal cortex oFC and pFC
48 tdic target 835 0.01 0.03 0.03 0.05 LIPv_R R superior parietal cortex sP
351 tdic target 864 0.01 0.03 0.02 0.02 p47r_L L inferior frontal cortex iFC
184 tdic target 857 0.01 0.03 0.01 0.02 V2_L L early visual cortex early vis.
196 tdic target 880 0.00 0.03 0.01 0.01 V7_L L dorsal stream visual cortex d vis.
217 tdic target 862 0.01 0.03 0.02 0.02 5mv_L L paracentral lobular and mid cingulate cortex PL and mid cing.
191 tdic target 857 0.01 0.03 0.02 0.03 PEF_L L premotor cortex PM
287 tdic target 899 0.00 0.03 0.01 0.01 TA2_L L auditory association cortex aud. assoc.
279 tdic target 905 0.00 0.03 0.01 0.01 43_L L posterior opercular cortex pOperc
178 tdic target 858 0.01 0.03 0.03 0.03 PI_R R insular and frontal opercular cortex insular and FO
40 tdic target 855 0.01 0.03 0.02 0.03 24dd_R R paracentral lobular and mid cingulate cortex PL and mid cing.
259 tdic target 834 0.01 0.03 0.03 0.04 IFJa_L L inferior frontal cortex iFC
25 tdic target 856 0.01 0.03 0.03 0.03 PSL_R R tempo-parieto-occipital junction TPOJ
252 tdic target 879 0.00 0.03 0.01 0.01 10d_L L orbital and polar frontal cortex oFC and pFC
154 tdic target 845 0.01 0.03 0.04 0.04 VMV3_R R ventral stream visual cortex v vis.
289 tdic target 941 0.00 0.03 0.00 0.00 MI_L L insular and frontal opercular cortex insular and FO
293 tdic target 882 0.00 0.03 0.01 0.01 FOP1_L L posterior opercular cortex pOperc
67 tdic target 864 0.01 0.03 0.02 0.02 8Av_R R dorsolateral prefrontal cortex dlPFC
27 tdic target 845 0.01 0.03 0.04 0.04 PCV_R R posterior cingulate cortex pCC
70 tdic target 858 0.01 0.03 0.03 0.03 8BL_R R dorsolateral prefrontal cortex dlPFC
66 tdic target 891 0.00 0.03 0.01 0.01 47m_R R orbital and polar frontal cortex oFC and pFC
242 tdic target 896 0.00 0.03 0.01 0.01 d32_L L anterior cingulate and medial prefrontal cortex aCC and mPFC
102 tdic target 837 0.01 0.03 0.05 0.05 OP2-3_R R posterior opercular cortex pOperc
125 tdic target 847 0.01 0.03 0.04 0.04 A5_R R auditory association cortex aud. assoc.
185 tdic target 856 0.01 0.03 0.01 0.02 V3_L L early visual cortex early vis.
152 tdic target 899 0.00 0.03 0.01 0.01 V6A_R R dorsal stream visual cortex d vis.
248 tdic target 874 0.00 0.03 0.02 0.02 8Ad_L L dorsolateral prefrontal cortex dlPFC
269 tdic target 868 0.01 0.03 0.02 0.02 a10p_L L orbital and polar frontal cortex oFC and pFC
198 tdic target 872 0.00 0.03 0.02 0.02 FFC_L L ventral stream visual cortex v vis.
277 tdic target 864 0.01 0.03 0.02 0.02 i6-8_L L dorsolateral prefrontal cortex dlPFC
113 tdic target 885 0.00 0.03 0.01 0.01 FOP1_R R posterior opercular cortex pOperc
281 tdic target 851 0.01 0.03 0.03 0.03 OP1_L L posterior opercular cortex pOperc
288 tdic target 916 0.00 0.03 0.00 0.00 FOP4_L L insular and frontal opercular cortex insular and FO
129 tdic target 856 0.01 0.03 0.03 0.03 STSdp_R R auditory association cortex aud. assoc.
264 tdic target 855 0.01 0.03 0.03 0.03 46_L L dorsolateral prefrontal cortex dlPFC
42 tdic target 855 0.01 0.03 0.03 0.03 7AL_R R superior parietal cortex sP
89 tdic target 928 0.00 0.03 0.00 0.00 a10p_R R orbital and polar frontal cortex oFC and pFC
111 tdic target 890 0.00 0.03 0.01 0.01 AVI_R R insular and frontal opercular cortex insular and FO
59 tdic target 897 0.00 0.03 0.01 0.01 a24pr_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
65 tdic target 850 0.01 0.03 0.03 0.03 10r_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
243 tdic target 821 0.02 0.03 0.04 0.06 8BM_L L anterior cingulate and medial prefrontal cortex aCC and mPFC
96 tdic target 930 0.00 0.03 0.00 0.00 6a_R R premotor cortex PM
317 tdic target 869 0.01 0.03 0.02 0.02 PHT_L L lateral temporal cortex lT
318 tdic target 848 0.01 0.03 0.04 0.04 PH_L L MT+ complex and neighbors MT+
258 tdic target 850 0.01 0.03 0.03 0.03 6r_L L premotor cortex PM
332 tdic target 854 0.01 0.03 0.03 0.03 V6A_L L dorsal stream visual cortex d vis.
231 tdic target 853 0.01 0.03 0.03 0.03 1_L L somatosensory and motor cortex M1 and S1
107 tdic target 882 0.00 0.03 0.01 0.01 TA2_R R auditory association cortex aud. assoc.
150 tdic target 867 0.01 0.03 0.02 0.02 PGi_R R inferior parietal cortex iP
17 tdic target 875 0.00 0.02 0.02 0.02 IPS1_R R dorsal stream visual cortex d vis.
201 tdic target 844 0.01 0.02 0.04 0.04 LO2_L L MT+ complex and neighbors MT+
4 tdic target 854 0.01 0.02 0.02 0.02 V2_R R early visual cortex early vis.
208 tdic target 876 0.00 0.02 0.02 0.02 STV_L L tempo-parieto-occipital junction TPOJ
305 tdic target 851 0.01 0.02 0.03 0.03 A5_L L auditory association cortex aud. assoc.
262 tdic target 854 0.01 0.02 0.03 0.03 IFSa_L L inferior frontal cortex iFC
23 tdic target 842 0.01 0.02 0.04 0.04 MT_R R MT+ complex and neighbors MT+
254 tdic target 818 0.02 0.02 0.04 0.06 44_L L inferior frontal cortex iFC
101 tdic target 851 0.01 0.02 0.03 0.03 OP1_R R posterior opercular cortex pOperc
18 tdic target 862 0.01 0.02 0.02 0.02 FFC_R R ventral stream visual cortex v vis.
273 tdic target 856 0.01 0.02 0.03 0.03 OFC_L L orbital and polar frontal cortex oFC and pFC
135 tdic target 842 0.01 0.02 0.04 0.04 TF_R R lateral temporal cortex lT
105 tdic target 850 0.01 0.02 0.03 0.03 PFcm_R R posterior opercular cortex pOperc
55 tdic target 840 0.01 0.02 0.05 0.05 6mp_R R paracentral lobular and mid cingulate cortex PL and mid cing.

distractor (6 parcels)

unthresholded

Betas

stats.group.tdic[param == "distractor"]$beta %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.group.tdic[param == "distractor"]$v %>% build.overlay %>% plot_surface

thresholded

Betas

stats.coding.distr %>% with(ifelse(p.fdr < 0.05, beta, NA)) %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.coding.distr %>% with(ifelse(p.fdr < 0.05, v, NA)) %>% build.overlay %>% plot_surface

table

Sorted (descending) by beta.

kable(
  stats.group.tdic[param == "distractor" & p.fdr < 0.05] %>% arrange(-beta),
  digits = 2
)
num.roi model param v p beta p.fdr p.holm roi hemi community community.short
181 tdic distractor 1025 0.00 0.05 0.00 0.00 V1_L L primary visual cortex V1
184 tdic distractor 1029 0.00 0.05 0.00 0.00 V2_L L early visual cortex early vis.
1 tdic distractor 874 0.00 0.03 0.02 0.02 V1_R R primary visual cortex V1
4 tdic distractor 862 0.01 0.03 0.02 0.02 V2_R R early visual cortex early vis.
5 tdic distractor 940 0.00 0.03 0.00 0.00 V3_R R early visual cortex early vis.
185 tdic distractor 873 0.00 0.03 0.01 0.02 V3_L L early visual cortex early vis.

incongruency (43 parcels)

unthresholded

Betas

stats.group.tdic[param == "incongruency"]$beta %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.group.tdic[param == "incongruency"]$v %>% build.overlay %>% plot_surface

thresholded

Betas

stats.coding.incon %>% with(ifelse(p.fdr < 0.05, beta, NA)) %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.coding.incon %>% with(ifelse(p.fdr < 0.05, v, NA)) %>% build.overlay %>% plot_surface

table

Sorted (descending) by beta.

kable(
  stats.group.tdic[param == "incongruency" & p.fdr < 0.05] %>% arrange(-beta),
  digits = 2
)
num.roi model param v p beta p.fdr p.holm roi hemi community community.short
325 tdic incongruency 956 0.00 0.15 0.00 0.00 IP1_L L inferior parietal cortex iP
230 tdic incongruency 967 0.00 0.14 0.00 0.00 MIP_L L superior parietal cortex sP
275 tdic incongruency 978 0.00 0.12 0.00 0.00 LIPd_L L superior parietal cortex sP
223 tdic incongruency 888 0.00 0.11 0.01 0.01 SCEF_L L paracentral lobular and mid cingulate cortex PL and mid cing.
146 tdic incongruency 920 0.00 0.11 0.00 0.00 IP0_R R inferior parietal cortex iP
297 tdic incongruency 863 0.01 0.10 0.01 0.02 AIP_L L superior parietal cortex sP
50 tdic incongruency 868 0.01 0.10 0.02 0.02 MIP_R R superior parietal cortex sP
194 tdic incongruency 937 0.00 0.10 0.00 0.00 RSC_L L posterior cingulate cortex pCC
224 tdic incongruency 937 0.00 0.10 0.00 0.00 6ma_L L paracentral lobular and mid cingulate cortex PL and mid cing.
21 tdic incongruency 914 0.00 0.09 0.00 0.00 LO2_R R MT+ complex and neighbors MT+
197 tdic incongruency 900 0.00 0.09 0.01 0.01 IPS1_L L dorsal stream visual cortex d vis.
63 tdic incongruency 913 0.00 0.09 0.00 0.00 8BM_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
98 tdic incongruency 961 0.00 0.09 0.00 0.00 s6-8_R R dorsolateral prefrontal cortex dlPFC
324 tdic incongruency 886 0.00 0.09 0.01 0.01 IP2_L L inferior parietal cortex iP
191 tdic incongruency 841 0.01 0.09 0.02 0.03 PEF_L L premotor cortex PM
288 tdic incongruency 847 0.01 0.09 0.02 0.03 FOP4_L L insular and frontal opercular cortex insular and FO
60 tdic incongruency 907 0.00 0.08 0.00 0.00 p32pr_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
44 tdic incongruency 918 0.00 0.08 0.00 0.00 6ma_R R paracentral lobular and mid cingulate cortex PL and mid cing.
157 tdic incongruency 854 0.01 0.08 0.02 0.02 FST_R R MT+ complex and neighbors MT+
17 tdic incongruency 833 0.01 0.08 0.03 0.04 IPS1_R R dorsal stream visual cortex d vis.
259 tdic incongruency 890 0.00 0.08 0.01 0.01 IFJa_L L inferior frontal cortex iFC
260 tdic incongruency 883 0.00 0.08 0.01 0.01 IFJp_L L inferior frontal cortex iFC
277 tdic incongruency 815 0.02 0.07 0.04 0.07 i6-8_L L dorsolateral prefrontal cortex dlPFC
179 tdic incongruency 844 0.01 0.07 0.02 0.03 a32pr_R R anterior cingulate and medial prefrontal cortex aCC and mPFC
243 tdic incongruency 848 0.01 0.07 0.04 0.04 8BM_L L anterior cingulate and medial prefrontal cortex aCC and mPFC
211 tdic incongruency 838 0.01 0.07 0.05 0.05 POS1_L L posterior cingulate cortex pCC
144 tdic incongruency 822 0.02 0.07 0.04 0.06 IP2_R R inferior parietal cortex iP
254 tdic incongruency 848 0.01 0.07 0.04 0.04 44_L L inferior frontal cortex iFC
40 tdic incongruency 841 0.01 0.07 0.02 0.03 24dd_R R paracentral lobular and mid cingulate cortex PL and mid cing.
4 tdic incongruency 808 0.03 0.07 0.03 0.05 V2_R R early visual cortex early vis.
206 tdic incongruency 867 0.01 0.07 0.01 0.02 SFL_L L dorsolateral prefrontal cortex dlPFC
263 tdic incongruency 839 0.01 0.07 0.02 0.04 p9-46v_L L dorsolateral prefrontal cortex dlPFC
266 tdic incongruency 934 0.00 0.07 0.00 0.00 9-46d_L L dorsolateral prefrontal cortex dlPFC
19 tdic incongruency 851 0.01 0.07 0.03 0.03 V3B_R R dorsal stream visual cortex d vis.
348 tdic incongruency 814 0.02 0.06 0.04 0.07 Ig_L L insular and frontal opercular cortex insular and FO
161 tdic incongruency 838 0.01 0.06 0.05 0.05 31pd_R R posterior cingulate cortex pCC
160 tdic incongruency 876 0.00 0.06 0.02 0.02 VMV2_R R ventral stream visual cortex v vis.
96 tdic incongruency 828 0.02 0.06 0.03 0.05 6a_R R premotor cortex PM
337 tdic incongruency 852 0.01 0.06 0.02 0.02 FST_L L MT+ complex and neighbors MT+
262 tdic incongruency 812 0.02 0.06 0.05 0.07 IFSa_L L inferior frontal cortex iFC
11 tdic incongruency 823 0.02 0.06 0.04 0.05 PEF_R R premotor cortex PM
48 tdic incongruency 833 0.01 0.05 0.03 0.05 LIPv_R R superior parietal cortex sP
154 tdic incongruency 817 0.02 0.05 0.04 0.06 VMV3_R R ventral stream visual cortex v vis.

intersections

rois.targt.incon <- intersect(rois.targt, rois.incon)
rois.targt.distr <- intersect(rois.targt, rois.distr)
rois.distr.incon <- intersect(rois.distr, rois.incon)
rois.targt.distr.incon <- Reduce(intersect, list(rois.targt, rois.incon, rois.distr))

rois.targt.incon
##  [1] "V2_R"     "PEF_R"    "IPS1_R"   "24dd_R"   "6ma_R"    "LIPv_R"  
##  [7] "p32pr_R"  "8BM_R"    "6a_R"     "IP2_R"    "IP0_R"    "VMV3_R"  
## [13] "FST_R"    "a32pr_R"  "PEF_L"    "SFL_L"    "SCEF_L"   "8BM_L"   
## [19] "44_L"     "IFJa_L"   "IFSa_L"   "p9-46v_L" "i6-8_L"   "FOP4_L"  
## [25] "AIP_L"    "FST_L"    "Ig_L"
rois.targt.distr
## [1] "V2_R" "V2_L" "V3_L"
rois.distr.incon
## [1] "V2_R"
rois.targt.distr.incon
## [1] "V2_R"

2. preference analysis: pairwise comparisons

code

  • paired wilcoxon sign-rank test on estimated betas
    • 3 tests per parcel (t vs d, t vs i, d vs i)
    • two-sided
    • p-values FDR corrected across all comparisons, within each roi
## get p vals

stats.pairs.tdic <- stats.subjs.tdic %>%
  filter(param %in% params.interest) %>%
  group_by(roi) %>%
  summarize(
    out = list(
      pairwise.wilcox.test(beta, param, paired = TRUE, alternative = "two.sided", p.adjust.method = "fdr")
    )
  )
pvals <- vapply(stats.pairs.tdic$out, function(.) .$p.value[lower.tri(diag(2), diag = TRUE)], numeric(3))
pvals <- t(pvals)
colnames(pvals) <- c("p.incon.distr", "p.targt.distr", "p.targt.incon")
stats.pairs.tdic <- data.frame(roi = stats.pairs.tdic$roi, pvals, stringsAsFactors = FALSE)

## get mean diffs

stats.pairs.tdic %<>% full_join(
  stats.subjs.tdic %>%
    filter(param %in% params.interest) %>%
    group_by(roi) %>%
    summarize(
      b.incon.distr = tanh(mean(atanh(beta[param == "incongruency"]) - atanh(beta[param == "distractor"]))),
      b.targt.distr = tanh(mean(atanh(beta[param == "target"]) - atanh(beta[param == "distractor"]))),
      b.targt.incon = tanh(mean(atanh(beta[param == "target"]) - atanh(beta[param == "incongruency"]))),
    ),
  by = "roi"
)

stats.pairs.tdic %<>% full_join(atlas.key$mmp, by = "roi") %>% as.data.table

results

rois.pref.targt.vs.distr <- stats.pairs.tdic[roi %in% rois.targt & p.targt.distr < 0.05 & b.targt.distr > 0, roi]
rois.pref.targt.vs.incon <- stats.pairs.tdic[roi %in% rois.targt & p.targt.incon < 0.05 & b.targt.incon > 0, roi]

rois.pref.distr.vs.targt <- stats.pairs.tdic[roi %in% rois.distr & p.targt.distr < 0.05 & b.targt.distr < 0, roi]
rois.pref.distr.vs.incon <- stats.pairs.tdic[roi %in% rois.distr & b.incon.distr < 0.05 & b.incon.distr < 0, roi]

rois.pref.incon.vs.distr <- stats.pairs.tdic[roi %in% rois.incon & b.incon.distr < 0.05 & b.incon.distr > 0, roi]
rois.pref.incon.vs.targt <- stats.pairs.tdic[roi %in% rois.incon & p.targt.incon < 0.05 & b.targt.incon < 0, roi]

rois.pref.targt <- intersect(rois.pref.targt.vs.incon, rois.pref.targt.vs.distr)
rois.pref.distr <- intersect(rois.pref.distr.vs.targt, rois.pref.distr.vs.incon)
rois.pref.incon <- intersect(rois.pref.incon.vs.targt, rois.pref.incon.vs.distr)

Of the task coding parcels, which show preferece for certain task dimensions over others? In this section, each task dimension is considered in turn. ROIs are identified in each subsection that meet criteria for having certain representational ‘preferences’. Within each subsection, these criteria get progressively more stringent.

target

target > {distractor, 0} (94 parcels)

Betas

stats.coding.targt %>% with(ifelse(roi %in% rois.pref.targt.vs.distr, beta, NA)) %>% build.overlay %>% plot_surface

Test statistics (sum of sign ranks)

stats.coding.targt %>% with(ifelse(roi %in% rois.pref.targt.vs.distr, v, NA)) %>% build.overlay %>% plot_surface

kable(
  stats.pairs.tdic[roi %in% rois.pref.targt.vs.distr] %>% arrange(-b.targt.distr),
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short
3b_L 0.94 0.00 0.00 0.01 0.09 0.09 189 L somatosensory and motor cortex M1 and S1
4_L 0.50 0.00 0.00 0.00 0.07 0.08 188 L somatosensory and motor cortex M1 and S1
3a_L 0.11 0.00 0.00 -0.02 0.07 0.09 233 L somatosensory and motor cortex M1 and S1
OP4_L 0.10 0.00 0.91 0.07 0.07 0.01 280 L posterior opercular cortex pOperc
PFop_L 0.46 0.00 0.05 0.02 0.06 0.05 327 L inferior parietal cortex iP
6v_R 0.59 0.00 0.13 0.02 0.06 0.04 56 R premotor cortex PM
STSda_L 0.64 0.00 0.07 0.01 0.05 0.04 308 L auditory association cortex aud. assoc.
2_L 0.24 0.00 0.65 0.05 0.05 0.01 232 L somatosensory and motor cortex M1 and S1
4_R 0.77 0.01 0.12 0.01 0.05 0.04 8 R somatosensory and motor cortex M1 and S1
55b_R 0.03 0.00 0.74 0.05 0.05 0.00 12 R premotor cortex PM
55b_L 0.36 0.00 0.69 0.04 0.05 0.01 192 L premotor cortex PM
p9-46v_L 0.01 0.00 0.44 0.08 0.05 -0.03 263 L dorsolateral prefrontal cortex dlPFC
8BM_R 0.00 0.00 0.33 0.09 0.05 -0.04 63 R anterior cingulate and medial prefrontal cortex aCC and mPFC
IP2_R 0.01 0.00 0.45 0.08 0.05 -0.03 144 R inferior parietal cortex iP
9p_L 0.40 0.00 0.48 0.04 0.05 0.01 251 L dorsolateral prefrontal cortex dlPFC
p9-46v_R 0.40 0.01 0.61 0.04 0.05 0.01 83 R dorsolateral prefrontal cortex dlPFC
23c_L 0.42 0.00 0.42 0.03 0.05 0.02 218 L posterior cingulate cortex pCC
PBelt_R 0.72 0.01 0.06 0.01 0.05 0.04 124 R early auditory cortex early aud.
6v_L 0.48 0.00 0.30 0.01 0.05 0.03 236 L premotor cortex PM
p10p_L 0.11 0.00 0.52 0.04 0.05 0.01 350 L orbital and polar frontal cortex oFC and pFC
FEF_R 0.53 0.00 0.50 0.02 0.05 0.03 10 R premotor cortex PM
3b_R 0.84 0.00 0.23 0.02 0.05 0.02 9 R somatosensory and motor cortex M1 and S1
FEF_L 0.53 0.00 0.53 0.04 0.05 0.00 190 L premotor cortex PM
8BL_R 0.01 0.00 0.52 0.07 0.05 -0.02 70 R dorsolateral prefrontal cortex dlPFC
VVC_L 0.43 0.00 0.49 0.04 0.05 0.01 343 L ventral stream visual cortex v vis.
MBelt_R 0.88 0.00 0.12 0.01 0.05 0.04 173 R early auditory cortex early aud.
FOP4_R 0.19 0.00 0.93 0.06 0.05 -0.02 108 R insular and frontal opercular cortex insular and FO
45_L 0.27 0.00 0.81 0.05 0.05 0.00 255 L inferior frontal cortex iFC
PoI2_L 0.59 0.01 0.40 0.02 0.05 0.03 286 L insular and frontal opercular cortex insular and FO
a9-46v_R 0.53 0.00 0.28 0.02 0.05 0.03 85 R dorsolateral prefrontal cortex dlPFC
POS2_R 0.64 0.00 0.08 0.00 0.05 0.04 15 R posterior cingulate cortex pCC
TE1a_R 0.41 0.01 0.03 -0.01 0.05 0.06 132 R lateral temporal cortex lT
A4_R 0.32 0.01 0.01 -0.01 0.04 0.05 175 R auditory association cortex aud. assoc.
TGd_R 0.50 0.00 0.50 0.02 0.04 0.03 131 R lateral temporal cortex lT
TE2p_L 0.69 0.00 0.52 0.02 0.04 0.02 316 L lateral temporal cortex lT
Ig_L 0.05 0.01 0.46 0.07 0.04 -0.03 348 L insular and frontal opercular cortex insular and FO
TE1a_L 0.79 0.00 0.14 0.00 0.04 0.05 312 L lateral temporal cortex lT
8Ad_L 0.24 0.00 0.69 0.06 0.04 -0.01 248 L dorsolateral prefrontal cortex dlPFC
AIP_R 0.45 0.01 0.45 0.04 0.04 0.01 117 R superior parietal cortex sP
PeEc_L 0.79 0.01 0.29 0.01 0.04 0.03 302 L medial temporal cortex mT
MI_R 0.16 0.00 0.87 0.05 0.04 -0.01 109 R insular and frontal opercular cortex insular and FO
STSda_R 0.80 0.00 0.15 0.00 0.04 0.04 128 R auditory association cortex aud. assoc.
8C_R 0.46 0.00 0.61 0.03 0.04 0.01 73 R dorsolateral prefrontal cortex dlPFC
AIP_L 0.01 0.01 0.29 0.11 0.04 -0.07 297 L superior parietal cortex sP
MI_L 0.42 0.00 0.64 0.03 0.04 0.01 289 L insular and frontal opercular cortex insular and FO
V4t_L 0.38 0.01 0.59 0.03 0.04 0.01 336 L MT+ complex and neighbors MT+
TE2a_L 0.77 0.01 0.08 -0.01 0.04 0.05 314 L lateral temporal cortex lT
OP4_R 0.43 0.01 0.07 0.00 0.04 0.04 100 R posterior opercular cortex pOperc
FOP5_R 0.71 0.00 0.26 0.03 0.04 0.01 169 R insular and frontal opercular cortex insular and FO
SCEF_R 0.38 0.02 0.91 0.05 0.04 -0.01 43 R paracentral lobular and mid cingulate cortex PL and mid cing.
7PC_L 0.59 0.00 0.36 0.02 0.04 0.02 227 L superior parietal cortex sP
AVI_R 0.37 0.00 0.37 0.05 0.04 -0.01 111 R insular and frontal opercular cortex insular and FO
LBelt_L 0.57 0.01 0.77 0.04 0.04 0.00 354 L early auditory cortex early aud.
1_L 0.36 0.01 0.74 0.04 0.04 0.00 231 L somatosensory and motor cortex M1 and S1
IFSp_R 0.57 0.02 0.54 0.02 0.04 0.02 81 R inferior frontal cortex iFC
OFC_R 0.67 0.02 0.34 0.01 0.04 0.03 93 R orbital and polar frontal cortex oFC and pFC
44_L 0.00 0.00 0.16 0.08 0.04 -0.05 254 L inferior frontal cortex iFC
FOP3_L 0.51 0.04 0.91 0.04 0.04 0.00 294 L insular and frontal opercular cortex insular and FO
V8_L 0.73 0.01 0.47 0.02 0.04 0.01 187 L ventral stream visual cortex v vis.
5m_L 0.40 0.03 0.03 -0.02 0.04 0.05 216 L paracentral lobular and mid cingulate cortex PL and mid cing.
PGi_L 0.57 0.01 0.67 0.04 0.04 0.00 330 L inferior parietal cortex iP
6d_L 0.42 0.02 0.95 0.03 0.04 0.01 234 L premotor cortex PM
46_L 0.68 0.00 0.35 0.02 0.04 0.01 264 L dorsolateral prefrontal cortex dlPFC
p32pr_R 0.01 0.00 0.15 0.08 0.04 -0.05 60 R anterior cingulate and medial prefrontal cortex aCC and mPFC
VVC_R 0.72 0.00 0.49 0.02 0.04 0.02 163 R ventral stream visual cortex v vis.
IFJa_L 0.02 0.03 0.10 0.08 0.04 -0.05 259 L inferior frontal cortex iFC
V6A_R 0.37 0.01 0.10 -0.01 0.04 0.04 152 R dorsal stream visual cortex d vis.
TGd_L 0.98 0.03 0.28 0.00 0.04 0.03 311 L lateral temporal cortex lT
d32_R 0.19 0.01 0.93 0.05 0.04 -0.01 62 R anterior cingulate and medial prefrontal cortex aCC and mPFC
OP1_L 0.17 0.01 1.00 0.04 0.04 0.00 281 L posterior opercular cortex pOperc
FOP1_R 0.77 0.01 0.59 0.02 0.04 0.01 113 R posterior opercular cortex pOperc
5mv_R 0.92 0.02 0.12 0.00 0.03 0.03 37 R paracentral lobular and mid cingulate cortex PL and mid cing.
A5_R 0.35 0.04 0.04 -0.03 0.03 0.06 125 R auditory association cortex aud. assoc.
FOP3_R 0.69 0.01 0.69 0.03 0.03 0.01 114 R insular and frontal opercular cortex insular and FO
FST_R 0.05 0.05 0.26 0.07 0.03 -0.04 157 R MT+ complex and neighbors MT+
11l_R 0.37 0.01 0.04 -0.01 0.03 0.05 91 R orbital and polar frontal cortex oFC and pFC
STGa_L 0.64 0.03 0.03 0.00 0.03 0.03 303 L auditory association cortex aud. assoc.
PI_R 0.39 0.00 0.98 0.03 0.03 0.00 178 R insular and frontal opercular cortex insular and FO
OFC_L 0.23 0.02 0.91 0.05 0.03 -0.02 273 L orbital and polar frontal cortex oFC and pFC
PSL_R 0.48 0.04 0.72 0.03 0.03 0.00 25 R tempo-parieto-occipital junction TPOJ
TF_R 0.44 0.01 0.07 -0.01 0.03 0.04 135 R lateral temporal cortex lT
43_R 0.33 0.02 0.07 -0.02 0.03 0.05 99 R posterior opercular cortex pOperc
PFcm_L 0.75 0.01 0.75 0.03 0.03 0.01 285 L posterior opercular cortex pOperc
TGv_R 0.62 0.04 0.07 0.00 0.03 0.03 172 R lateral temporal cortex lT
RI_L 0.23 0.04 0.92 0.04 0.03 -0.01 284 L early auditory cortex early aud.
SCEF_L 0.01 0.01 0.05 0.10 0.03 -0.07 223 L paracentral lobular and mid cingulate cortex PL and mid cing.
PHT_L 0.09 0.04 0.40 0.06 0.03 -0.03 317 L lateral temporal cortex lT
47l_L 0.42 0.04 0.17 -0.01 0.03 0.04 256 L inferior frontal cortex iFC
FOP4_L 0.03 0.01 0.13 0.08 0.03 -0.06 288 L insular and frontal opercular cortex insular and FO
FFC_L 0.57 0.01 0.57 0.03 0.03 0.00 198 L ventral stream visual cortex v vis.
AVI_L 0.21 0.05 0.67 0.05 0.03 -0.02 291 L insular and frontal opercular cortex insular and FO
OP2-3_L 0.28 0.04 0.01 -0.01 0.03 0.04 282 L posterior opercular cortex pOperc
11l_L 0.84 0.02 0.07 0.00 0.03 0.03 271 L orbital and polar frontal cortex oFC and pFC
43_L 0.81 0.03 0.72 0.01 0.03 0.01 279 L posterior opercular cortex pOperc

target > {incongruency, 0} (11 parcels)

Betas

stats.coding.targt %>% with(ifelse(roi %in% rois.pref.targt.vs.incon, beta, NA)) %>% build.overlay %>% plot_surface

kable(
  stats.pairs.tdic[roi %in% rois.pref.targt.vs.incon] %>% arrange(-b.targt.incon),
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short
3a_L 0.11 0.00 0.00 -0.02 0.07 0.09 233 L somatosensory and motor cortex M1 and S1
3b_L 0.94 0.00 0.00 0.01 0.09 0.09 189 L somatosensory and motor cortex M1 and S1
4_L 0.50 0.00 0.00 0.00 0.07 0.08 188 L somatosensory and motor cortex M1 and S1
A5_R 0.35 0.04 0.04 -0.03 0.03 0.06 125 R auditory association cortex aud. assoc.
TA2_L 0.11 0.08 0.00 -0.04 0.02 0.06 287 L auditory association cortex aud. assoc.
TE1a_R 0.41 0.01 0.03 -0.01 0.05 0.06 132 R lateral temporal cortex lT
5m_L 0.40 0.03 0.03 -0.02 0.04 0.05 216 L paracentral lobular and mid cingulate cortex PL and mid cing.
A4_R 0.32 0.01 0.01 -0.01 0.04 0.05 175 R auditory association cortex aud. assoc.
11l_R 0.37 0.01 0.04 -0.01 0.03 0.05 91 R orbital and polar frontal cortex oFC and pFC
OP2-3_L 0.28 0.04 0.01 -0.01 0.03 0.04 282 L posterior opercular cortex pOperc
STGa_L 0.64 0.03 0.03 0.00 0.03 0.03 303 L auditory association cortex aud. assoc.

target > {distractor, incongruency, 0} (10 parcels)

Betas

stats.coding.targt %>% with(ifelse(roi %in% rois.pref.targt, beta, NA)) %>% build.overlay %>% plot_surface

kable(stats.pairs.tdic[roi %in% rois.pref.targt], digits = 2)
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short
11l_R 0.37 0.01 0.04 -0.01 0.03 0.05 91 R orbital and polar frontal cortex oFC and pFC
3a_L 0.11 0.00 0.00 -0.02 0.07 0.09 233 L somatosensory and motor cortex M1 and S1
3b_L 0.94 0.00 0.00 0.01 0.09 0.09 189 L somatosensory and motor cortex M1 and S1
4_L 0.50 0.00 0.00 0.00 0.07 0.08 188 L somatosensory and motor cortex M1 and S1
5m_L 0.40 0.03 0.03 -0.02 0.04 0.05 216 L paracentral lobular and mid cingulate cortex PL and mid cing.
A4_R 0.32 0.01 0.01 -0.01 0.04 0.05 175 R auditory association cortex aud. assoc.
A5_R 0.35 0.04 0.04 -0.03 0.03 0.06 125 R auditory association cortex aud. assoc.
OP2-3_L 0.28 0.04 0.01 -0.01 0.03 0.04 282 L posterior opercular cortex pOperc
STGa_L 0.64 0.03 0.03 0.00 0.03 0.03 303 L auditory association cortex aud. assoc.
TE1a_R 0.41 0.01 0.03 -0.01 0.05 0.06 132 R lateral temporal cortex lT

distractor

distractor > {target, 0} (0 parcels)

kable(
  stats.pairs.tdic[roi %in% rois.pref.distr.vs.targt] %>% arrange(b.targt.distr),
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short

distractor > {incongruency, 0}(1 parcels)

kable(
  stats.pairs.tdic[roi %in% rois.pref.distr.vs.incon] %>% arrange(b.incon.distr),
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short
V2_L 0.94 0.69 0.78 0 -0.02 -0.02 184 L early visual cortex early vis.

distractor > {target, incongruency, 0}

No parcels meet criteria (no parcels distractor > target).

incongruency

incongruency > {distractor, 0} (5 parcels)

Betas

stats.coding.incon %>% with(ifelse(roi %in% rois.pref.incon.vs.distr, v, NA)) %>% build.overlay %>% plot_surface

kable(
  stats.pairs.tdic[roi %in% rois.pref.incon.vs.distr] %>% arrange(-b.incon.distr),
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short
IFSa_L 0.42 0.42 0.42 0.04 0.01 -0.03 262 L inferior frontal cortex iFC
PEF_R 0.53 0.56 0.56 0.04 0.02 -0.02 11 R premotor cortex PM
FST_L 0.42 0.42 0.42 0.04 0.01 -0.03 337 L MT+ complex and neighbors MT+
V2_R 0.53 0.53 0.53 0.04 -0.01 -0.05 4 R early visual cortex early vis.
VMV3_R 0.33 0.33 0.57 0.03 0.01 -0.02 154 R ventral stream visual cortex v vis.
incongruency > {target, 0} (9 parcels)

Betas

stats.coding.incon %>% with(ifelse(roi %in% rois.pref.incon.vs.targt, v, NA)) %>% build.overlay %>% plot_surface

kable(
  stats.pairs.tdic[roi %in% rois.pref.incon.vs.targt] %>% arrange(b.targt.incon),
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short
IP1_L 0.00 0.19 0.00 0.15 0.01 -0.14 325 L inferior parietal cortex iP
MIP_L 0.00 0.75 0.00 0.13 0.00 -0.13 230 L superior parietal cortex sP
LIPd_L 0.00 0.59 0.00 0.11 0.00 -0.11 275 L superior parietal cortex sP
LO2_R 0.00 0.14 0.01 0.10 0.01 -0.09 21 R MT+ complex and neighbors MT+
IPS1_L 0.05 0.98 0.05 0.08 0.00 -0.09 197 L dorsal stream visual cortex d vis.
6ma_L 0.01 0.91 0.01 0.09 0.00 -0.09 224 L paracentral lobular and mid cingulate cortex PL and mid cing.
RSC_L 0.01 0.31 0.01 0.09 0.01 -0.08 194 L posterior cingulate cortex pCC
s6-8_R 0.00 0.01 0.01 0.09 0.03 -0.06 98 R dorsolateral prefrontal cortex dlPFC
9-46d_L 0.00 0.03 0.01 0.08 0.03 -0.06 266 L dorsolateral prefrontal cortex dlPFC

incongruency > {distractor, target, 0} (0 parcels)

kable(
  stats.pairs.tdic[roi %in% rois.pref.incon],
  digits = 2
  )
roi p.incon.distr p.targt.distr p.targt.incon b.incon.distr b.targt.distr b.targt.incon num.roi hemi community community.short

intersections

intersect(rois.pref.incon.vs.distr, rois.pref.targt.vs.distr)
## character(0)
intersect(rois.pref.targt.vs.incon, rois.pref.distr.vs.incon)
## character(0)
intersect(rois.pref.incon.vs.distr, rois.pref.distr.vs.targt)
## character(0)

3. selectivity analysis: equivalence testing

Here I establish which (if any) ROIs previously identified as having a preference for a task dimension(s), are selective for said task dimension(s). Establishing selectivity involves “confirming the null”: e.g., “this ROI was only coding for target information, not distractor or incongruency”. To perform such a test of equivalence, I use the two-one sided significance testing procedure (TOST).

Given an effect size \(\Delta\), the TOST requires specifiying two criteria: an \(\alpha\), and a smallest effect size of interest, \(\Delta_U\). In TOST, two one-sided tests are performed: \(H_1: \Delta \geq -\Delta_U\) and \(H_2: \Delta \leq \Delta_U\). Note that the null hypothesis in each of these tests is the presence of an effect. Thus, if both are rejected (p-values are \(< \alpha\)), the test provides positive evidence for the absence of a “meaningful” effect size. TOST is the frequentist’s alternative to bayesian analysis.

In the absence of an a priori effect size of interest, I use a simulated one. Given \(\alpha = 0.05\), \(N = 49\), and assuming gaussian error, I simulate the smallest effect size observable via wilcoxon signed-rank under the deisred power level of \(1 - \beta = 0.8\).

fname.es <- here("analyses", "coding_profiles", "smallest-effect-size-of-interest.csv")

if (!file.exists(fname.es)) {

  powersim <- function(es, n = 49, a = 0.05, nsim = 5000) {

    out <- numeric(nsim)

    for (sim.i in seq_len(nsim)) {
      x <- rnorm(n, es)
      p <- wilcox.test(x, alternative = "greater")$p.value
      out[sim.i] <- p < a
    }

    sum(out) / nsim

  }

  es <- seq(0, 0.5, 0.001)  ## range of effect sizes to simulate

  n.cores <- detectCores()
  cl <- makeCluster(n.cores - 1)
  registerDoParallel(cl)
  res <- foreach(ii = es, .combine = c) %dopar% {
    set.seed(ii * 1000)  ## set seed anew each iteraion (on each worker)
    powersim(ii)  ## power
  }
  stopCluster(cl)

  plot(es, res, main = "effect size (cohen's d) by power level of signed rank")

  sesoi <- data.frame(effect.size = es, hit.rate = res)

  write.csv(sesoi, here("analyses", "coding_profiles", "smallest-effect-size-of-interest.csv"), row.names = FALSE)

} else {

  sesoi <- read.csv(here("analyses", "coding_profiles", "smallest-effect-size-of-interest.csv"))
  # sesoi8 <- min(sesoi$effect.size[sesoi$hit.rate >= 0.8])  ## minimum effect size detectable at 0.8 power

}

## fit loess to generate smooth predicted values:
fit <- loess.as(sesoi$hit.rate, sesoi$effect.size)  ## uses model selection procedure to select optimal smoothing param

plot(sesoi$hit.rate, sesoi$effect.size)
lines(sesoi$hit.rate, fit$fitted, col = "firebrick")
(sesoi8 <- predict(fit, 0.8))  ## minimum effect size of interest
## [1] 0.3702

Now this minimum effect size serves as the reference (null) value in two non-central sign-rank tests. Note that I use the standardized betas (divisively normalized by their standard deviation) to conduct this test (this puts the model fits / betas in the same unit as the reference effect size).

stats.tosts <- stats.subjs.tdic %>%
  filter(param %in% params.interest) %>%
  group_by(param, roi) %>%
  summarize(
    du = wilcox.test(beta / sd(beta), alternative = "less", mu = sesoi8)$p.value,  ## less than upward bound?
    dl = wilcox.test(beta / sd(beta), alternative = "greater", mu = -sesoi8)$p.value,  ## greater than lower bound?
    p = max(du, dl)  ## take largest p-value
  ) %>%
  as.data.table

target

target > {distractor, 0} & distractor ~ 0

Establish absence of distractor coding:

rois.tost.targt.vs.distr <- stats.tosts[roi %in% rois.pref.targt.vs.distr & param == "distractor", ] %>%
  ungroup %>%
  mutate(p.fdr = p.adjust(p, method = "fdr"), p.holm = p.adjust(p, method = "holm")) %>%
  filter(p.fdr < 0.05) %>%
  .$roi

stats.tosts[param == "distractor" & roi %in% rois.tost.targt.vs.distr]
##          param      roi       du        dl        p
##  1: distractor    23c_L 0.001971 0.0115038 0.011504
##  2: distractor     43_L 0.012809 0.0024101 0.012809
##  3: distractor    47l_L 0.003909 0.0037881 0.003909
##  4: distractor     6d_L 0.016633 0.0032321 0.016633
##  5: distractor    7PC_L 0.006355 0.0071430 0.007143
##  6: distractor    8BM_R 0.004853 0.0128093 0.012809
##  7: distractor     A5_R 0.001126 0.0108947 0.010895
##  8: distractor    AIP_L 0.001905 0.0166329 0.016633
##  9: distractor    AIP_R 0.009491 0.0011264 0.009491
## 10: distractor    d32_R 0.008014 0.0100327 0.010033
## 11: distractor    FEF_R 0.010895 0.0005762 0.010895
## 12: distractor    FFC_L 0.005990 0.0150019 0.015002
## 13: distractor   FOP3_L 0.008014 0.0034452 0.008014
## 14: distractor   FOP3_R 0.007788 0.0065448 0.007788
## 15: distractor   FOP4_L 0.002109 0.0128093 0.012809
## 16: distractor   FOP4_R 0.006939 0.0041606 0.006939
## 17: distractor   FOP5_R 0.008975 0.0013464 0.008975
## 18: distractor    FST_R 0.003788 0.0077880 0.007788
## 19: distractor   IFSp_R 0.008975 0.0003314 0.008975
## 20: distractor     MI_R 0.007143 0.0069386 0.007143
## 21: distractor  OP2-3_L 0.016212 0.0019049 0.016212
## 22: distractor   p10p_L 0.010033 0.0075677 0.010033
## 23: distractor  p32pr_R 0.006939 0.0103133 0.010313
## 24: distractor p9-46v_R 0.011819 0.0047070 0.011819
## 25: distractor  PBelt_R 0.012472 0.0037881 0.012472
## 26: distractor    PGi_L 0.000513 0.0067392 0.006739
## 27: distractor    PHT_L 0.003130 0.0128093 0.012809
## 28: distractor     PI_R 0.003031 0.0115038 0.011504
## 29: distractor    PSL_R 0.002934 0.0089747 0.008975
## 30: distractor   STGa_L 0.006171 0.0010865 0.006171
## 31: distractor    TGd_L 0.006545 0.0056440 0.006545
## 32: distractor    VVC_R 0.005815 0.0054774 0.005815
##          param      roi       du        dl        p

Betas

stats.coding.targt %>% with(ifelse(roi %in% rois.tost.targt.vs.distr, beta, NA)) %>% build.overlay %>% plot_surface

target > {incongruency, 0} & incongruency ~ 0

Establish absence of incongruency coding:

rois.tost.targt.vs.incon <- stats.tosts[roi %in% rois.pref.targt.vs.incon & param == "incongruency", ] %>%
  ungroup %>%
  mutate(p.fdr = p.adjust(p, method = "fdr"), p.holm = p.adjust(p, method = "holm")) %>%
  filter(p.fdr < 0.05) %>%
  .$roi


stats.tosts[param == "incongruency" & roi %in% rois.tost.targt.vs.incon]
##           param     roi        du       dl        p
## 1: incongruency   11l_R 0.0044264 0.019845 0.019845
## 2: incongruency    3b_L 0.0048530 0.008245 0.008245
## 3: incongruency     4_L 0.0008101 0.016633 0.016633
## 4: incongruency    5m_L 0.0012996 0.024131 0.024131
## 5: incongruency OP2-3_L 0.0005544 0.022442 0.022442
## 6: incongruency  STGa_L 0.0019708 0.006355 0.006355

Betas

stats.coding.targt %>% with(ifelse(roi %in% rois.tost.targt.vs.incon, beta, NA)) %>% build.overlay %>% plot_surface

target > {incongruency, distractor, 0} & {incongruency, distractor} ~ 0

The intersection of those sets:

rois.target.selective <- intersect(rois.tost.targt.vs.incon, rois.tost.targt.vs.distr)

rois.target.selective
## [1] "OP2-3_L" "STGa_L"

Betas

# stats.coding.targt %>% with(ifelse(roi %in% rois.target.selective, beta, NA)) %>% build.overlay %>% plot_surface

distractor

distractor > {target, 0} & target ~ 0

None with preference for distractor.

distractor > {incongruency, 0} & incongruency ~ 0

Establish absence of incongruency coding:

rois.tost.distr.vs.incon <- stats.tosts[roi %in% rois.pref.distr.vs.incon & param == "incongruency", ] %>%
  ungroup %>%
  mutate(p.fdr = p.adjust(p, method = "fdr"), p.holm = p.adjust(p, method = "holm")) %>%
  filter(p.fdr < 0.05) %>%
  .$roi


stats.tosts[param == "incongruency" & roi %in% rois.tost.distr.vs.incon]
## Empty data.table (0 rows and 5 cols): param,roi,du,dl,p

distractor > {incongruency, distractor, 0} & {incongruency, distractor} ~ 0

The intersection of those sets:

None.

incongruency

incongruency > {distractor, 0} & distractor ~ 0

Establish absence of distractor coding:

rois.tost.incon.vs.distr <- stats.tosts[roi %in% rois.pref.incon.vs.distr & param == "distractor", ] %>%
  ungroup %>%
  mutate(p.fdr = p.adjust(p, method = "fdr"), p.holm = p.adjust(p, method = "holm")) %>%
  filter(p.fdr < 0.05) %>%
  .$roi

stats.tosts[param == "distractor" & roi %in% rois.tost.incon.vs.distr]
## Empty data.table (0 rows and 5 cols): param,roi,du,dl,p

incongruency > {target, 0} & target ~ 0

Establish absence of target coding:

rois.tost.incon.vs.targt <- stats.tosts[roi %in% rois.pref.incon.vs.targt & param == "target", ] %>%
  ungroup %>%
  mutate(p.fdr = p.adjust(p, method = "fdr"), p.holm = p.adjust(p, method = "holm")) %>%
  filter(p.fdr < 0.05) %>%
  .$roi


stats.tosts[param == "target" & roi %in% rois.tost.incon.vs.targt]
## Empty data.table (0 rows and 5 cols): param,roi,du,dl,p

incongruency > {target, distractor, 0} & {target, distractor} ~ 0

The intersection of those sets:

None.

CONCLUSIONS